/*
 * 基本数据类型与String的运算
 * 1.String类 属于引用数据类型
 * 2.String类型的变量 可以使用 "" 进行赋值
 * 3.String声明的字符串内部 可以包含0个，1个，多个字符
 * 
 * String与基本数据类型变量间的运算
 * 1.这里运算的基本数据类型有8种 包括 Boolean
 * 2.String与基本数据类型变量间的运算只能是连接运算(也就是 + )，且结果为String类型
 * 3.运算的结果为String类型，因此需要使用String类型的变量来接收
 */
public class learn_String {
  public static void main(String[] args) {
    String hello = "hello";
    String str = "a";
    char c = 'a';

    System.out.println("String");
    System.out.println(hello);
    // 测试连接运算
    int num = 100;
    boolean bool = true;
    String hi = "hi";
    System.out.println(hello + num + bool + hi);
    System.out.println(hello + str);
    // 这里编译会报错
    // String str1 = num + bool + hi;

    // 把String类型转成基本数据类型
    String str2 = "abc"; // 不能考虑转为基本数据类型的

    int num2 = 123;
    String str3 = num2 + "";
    // int num3 = (int) str9; // 编译报错

    // 使用 Integer.parseInt() 可以把字符串类型转为整数
    int num4 = Integer.parseInt(str3);
    int num5 = Integer.parseInt("hahh");
    System.out.println(num5); // 字符串不是有效的整数,会抛出错误NumberFormatException

    System.out.println(num4 + 1);
  }
}
